// pages/groupSpace/comment/comment.js
const app = getApp();
var util = require('../../../utils/util.js');
Page({

  /**
   * 页面的初始数据
   */
  data: {
    Detail: '',
    CommentImgs: [{
      CommentImageID: 1,
      ImageUrl: ''
    }],
    WxNickName: '',
    WxHeadImgUrl: '',
    GroupCommentID: 6,
    UserID: 0,
    CreateDate: '',
    CommentSection: 3,
    PraiseCount: 1,
    PageViews: 0,
    EvaluateCount: 0,
    isLike: false,

    isNoMore: false, //是否还有数据   
    isShowLoad: false, //是否显示底部loading组件
    comments: [], //内容列表
    pageIndex: 1, //页索引
    pageSize: 5, //页大小

    comments: [], //评论

    isShowCommentPop: false, //是否展示评论弹窗
    textareaText: '', //文本域文本
    noData: false, //暂无数据
    noDataText: '暂时没有评论'
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    let self = this;
    self.setData({
      GroupCommentID: options.GroupCommentID
    });
    self.getCommentDetail();
    self.getTrailComments();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  },
  /**
   * 获取文章详情
   */
  getCommentDetail: function() {
    let self = this;
    let url = app.globalData.apiRootUrl + "/GroupComment/GetCommentInfo";

    app.httpRequest({
      url: url,
      data: {
        CommentID: self.data.GroupCommentID
      },
      success: function(res) {
        let rdata = res.data;
        rdata.data.CreateDate = util.formatDate(rdata.data.CreateDate, "MM月dd日 HH:mm");
        self.setData(rdata.data);
      },
      fail: function(err) {
        console.log('获取第一页数据失败');
      }
    })
  },
  /**
   * 获取文章评论
   */
  getTrailComments: function() {
    let self = this;
    let url = app.globalData.apiRootUrl + "/GroupComment/GetTrailCommentList";

    let data = {
      PageSize: self.data.pageSize,
      PageIndex: self.data.pageIndex,
      CommentID: self.data.GroupCommentID
    };

    self.setData({
      isShowLoad: true //显示底部loading组件
    });

    app.httpRequest({
      url: url,
      data: data,
      success: function(res) {
        //console.log('文章', res);
        let rdata = res.data;
        if (rdata.status == 0 && rdata.data.rows) {
          let comments = self.data.comments;
          if (rdata.data.rows.length == 0) {
            self.setData({
              noData: true
            })
          } else {
            for (let i = 0; i < rdata.data.rows.length; i++) {
              rdata.data.rows[i].CreateDate = util.formatDate(rdata.data.rows[i].CreateDate, "yyyy年MM月dd日");
              comments.push(rdata.data.rows[i]);
            }
            self.setData({
              noData: false,
              comments: comments
            });
          }

        }

        //如果返回的数据长度小于页大小，则说明没有数据了
        if (rdata.data.rows.length < self.data.pageSize) {
          self.setData({
            isShowLoad: true,
            isNoMore: true // true 没有数据了  false  还有数据
          });
        } else {
          self.setData({
            isShowLoad: false //今日推荐是否显示底部loading组件
          });
        }
      },
      fail: function(err) {
        console.log('获取第一页数据失败');
        self.setData({
          isShowLoad: false //今日推荐是否显示底部loading组件
        });
      },
      complete: function() {
        wx.stopPullDownRefresh();
      }
    })
  },
  /**
   * 添加评论
   */
  addTrailComment: function(txt) {
    let self = this;
    let url = app.globalData.apiRootUrl + "/GroupComment/AddTrailComment";

    app.httpRequest({
      url: url,
      method: "POST",
      data: {
        TrailIdentity: self.data.GroupCommentID,
        Comment: txt,
        UserID: app.globalData.userInfo.UserID,
        OpenID: app.globalData.userInfo.OpenID,
        UnionID: app.globalData.userInfo.UnionID
      },
      success: function(res) {
        let rdata = res.data;
        if (rdata.status == 0) {
          self.setData({
            isShowCommentPop: false
          });
          wx.showToast({
            title: '评论审核中，请稍后查看',
            icon: 'none'
          })
        } else {
          wx.showToast({
            title: rdata.message,
            icon: 'none'
          })
        }
      },
      fail: function(err) {
        console.log('获取第一页数据失败');
      }
    })
  },
  /**
   * 评论
   */
  commentTap: function() {
    let self = this;
    if (app.canAddComment(self.data.CarGroupID)) {
      self.setData({
        isShowCommentPop: true
      })
    }
  },
  /**
   * 取消评论
   */
  commentCancelTap: function() {
    let self = this;
    self.setData({
      isShowCommentPop: false
    })
  },
  /**
   * 发布评论
   */
  commentPublicTap: function() {
    let self = this;
    let textareaText = self.data.textareaText;
    if (!util.isNullOrEmpty(textareaText)) {
      // self.setData({
      //   isShowCommentPop: false
      // })
      self.addTrailComment(textareaText);
    }
  },
  /**
   * 文本域失去焦点
   */
  bindTextAreaBlur: function(e) {
    let self = this;
    self.setData({
      textareaText: e.detail.value
    })
  },
  //点赞
  likeTap(e) {
    let self = this;
    if (self.data.isLike) {
      return;
    }
    self.data.PraiseCount++;
    self.setData({
      isLike: true,
      PraiseCount: self.data.PraiseCount
    })
    self.addLike();
  },
  /**
   * 点赞统计
   */
  addLike: function() {
    let self = this;
    let url = app.globalData.apiRootUrl + "/WxUser/WxUserTrailRecord";
    app.httpRequest({
      url: url,
      method: "POST",
      data: {
        UserID: app.globalData.userInfo.UserID,
        TrailIdentity: self.data.GroupCommentID,
        TrailType: 1, //浏览类型(1:产品 2：名片 3：文章 4：趣味问答,5：小程序，6：小游戏)
        ActionType: 5, //操作类别(1：转发 2：浏览 3：答题 4：评论 5：点赞，6：取消点赞)
        OpenID: app.globalData.userInfo.OpenID,
        UnionID: app.globalData.userInfo.UnionID,
      },
      success: function(res) {}
    })
  },
})